//
//package com.hkbigdata.sybx.service.ipml;
//
//import com.hkbigdata.sybx.bean.ElderRegedit;
//import com.hkbigdata.sybx.mapper.ElderRegeditMapper;
//import com.hkbigdata.sybx.service.ElderRegeditService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
///**
// * @author yangjing
// * @creat 2025-05-06-14:59
// * @email 3010335359@qq.com
// */
//@Service
//public class ElderRegeditServiceImpl implements ElderRegeditService {
//
//    @Autowired
//    private ElderRegeditMapper elderRegeditMapper;
//
//    @Override
//    public ElderRegedit getUserById(String phone_number) {
//        return elderRegeditMapper.getUserBeanByUserId(phone_number);
//    }
//
//    @Override
//    public String insertUser(ElderRegedit elderRegedit) {
//        // 检查必填字段
//        if(elderRegedit.getName() == null || elderRegedit.getName().trim().isEmpty()) {
//            throw new IllegalArgumentException("姓名不能为空");
//        }
//
//        // 生成user_id，使用当前时间戳作为临时解决方案
//        if(elderRegedit.getUser_id() == null) {
//            elderRegedit.setUser_id(System.currentTimeMillis());
//        }
//        int result = elderRegeditMapper.addUser(elderRegedit);
//        return result > 0 ? "success" : "fail";
//    }
//
//    @Override
//    public String deleteUserById(String phone_number) {
//        int result = elderRegeditMapper.deleteUserByUserId(phone_number);
//        return result > 0 ? "success" : "fail";
//    }
//
//    @Override
//    public String updateUser(ElderRegedit elderRegedit) {
//        int result = elderRegeditMapper.updateUser(elderRegedit);
//        return result > 0 ? "success" : "fail";
//    }
//}


package com.hkbigdata.sybx.service.ipml;

import com.hkbigdata.sybx.bean.ElderRegedit;
import com.hkbigdata.sybx.bean.UserRegedit;
import com.hkbigdata.sybx.mapper.ElderRegeditMapper;
import com.hkbigdata.sybx.service.ElderRegeditService;
import com.hkbigdata.sybx.service.UserRegeditService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author yangjing
 * @creat 2025-05-06-14:59
 * @email 3010335359@qq.com
 */
@Service
public class ElderRegeditServiceImpl implements ElderRegeditService {

    @Autowired
    private ElderRegeditMapper elderRegeditMapper;

    @Autowired
    private UserRegeditService userRegeditService; // 注入用户服务

    @Override
    public ElderRegedit getUserById(String phone_number) {
        return elderRegeditMapper.getUserBeanByUserId(phone_number);
    }

    @Override
    public String insertUser(ElderRegedit elderRegedit) {
        // 检查必填字段
        if (elderRegedit.getName() == null || elderRegedit.getName().trim().isEmpty()) {
            throw new IllegalArgumentException("姓名不能为空");
        }
        if (elderRegedit.getAge() == null) {
            throw new IllegalArgumentException("年龄不能为空");
        }

        // 验证phone_number是否存在（核心修改点）
        if (elderRegedit.getUser_id() == null) {
            throw new IllegalArgumentException("user_id不能为空");
        }

        UserRegedit user = userRegeditService.getUserById(elderRegedit.getUser_id());
        if (user == null) {
            return "fail: 用户不存在";
        }

//        // 检查身份证号是否已存在
//        ElderRegedit existingElder = elderRegeditMapper.getElderByIdNumber(elderRegedit.getId_number());
//        if (existingElder != null) {
//            return "fail: 身份证号已存在";
//        }

        // 插入老人信息，关联user_id
        int result = elderRegeditMapper.addUser(elderRegedit);
        return result > 0 ? "success" : "fail";
    }

    @Override
    public String deleteUserById(String phone_number) {
        int result = elderRegeditMapper.deleteUserByUserId(phone_number);
        return result > 0 ? "success" : "fail";
    }

    @Override
    public String updateUser(ElderRegedit elderRegedit) {
        if (elderRegedit.getAge() == null) {
            throw new IllegalArgumentException("年龄不能为空");
        }
        int result = elderRegeditMapper.updateUser(elderRegedit);
        return result > 0 ? "success" : "fail";
    }

    @Override
    public List<ElderRegedit> getAllUser() {
        return elderRegeditMapper.getAllUsers();
    }


}